/*	Particle Simulator. Simulates the speed and position of particles and recalculates speed and position based on collisions. 
 *	Copyright (C) 2012 W.A. Garrett Weaver.
 *	This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 *	This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 *	You should have received a copy of the GNU General Public License along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 *	barrier.h specifies all the needed functions for a barrier
 */

#ifndef BARRIER_H
#define BARRIER_H

#include <stdbool.h>

/*	The structure barrier represents the parameters of a barrier
 *	float mass represents if the barrier can move
 *	float xStart represents the x coordinate where the line of the barrier begins
 *	float yStart represents the y coordinate where the line of the barrier begins
 *	float xEnd represents the x coordinate where the line of the barrier ends
 *	float yEnd represents the y coordinate where the line of the barrier ends
 *	float radialVelocity represents the clockwise velocity of the barrier
 *	float momentumIncreaseScalar represents the coefficient of the particle collision polynomial 
 *	float central momentum represents the average momentum of the particles that compose the barrier
 *	bool stationary indicates if the barrier can move
 *	bool rotatable, indicates if the barrier can rotate
 *	bool neutralTemp indicates if the barrier can change the momentum of particles that collide with it
 */
struct barrier
{
	float xStart, yStart, xEnd, yEnd, momentumIncreaseScalar, centralMomentum;
	bool neutralTemp;
	
};

#endif
